package com.ly.demo.redisTemplate;

import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import org.springframework.data.redis.connection.RedisStandaloneConfiguration;
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.StringRedisSerializer;

/**
 * @author liuyang
 * @des
 * @Version 1.0
 * @Date: 30/07/2021 15:34
 */
public class Test {
    public static void main(String[] args) {
        //单机模式
        RedisStandaloneConfiguration rsc = new RedisStandaloneConfiguration();
        rsc.setPort(6380);
        rsc.setPassword("Vantai@123PaSsW0rd");
        rsc.setHostName("10.15.100.2");
        rsc.setDatabase(9);
        RedisTemplate<String, String> template = new RedisTemplate<>();
        //单机模式
        JedisConnectionFactory fac = new JedisConnectionFactory(rsc);

        fac.afterPropertiesSet();
        template.setConnectionFactory(fac);
        template.setDefaultSerializer(new StringRedisSerializer());
        template.afterPropertiesSet();

        RedisUtil redisUtil = new RedisUtil();
        redisUtil.setRedisTemplate(template);
        String time = DateUtil.now();
        redisUtil.set("time", time);
        System.out.println(time);
        String a = (String)redisUtil.get("time");
        System.out.println(a);
        DateTime b = DateUtil.parse(a);
        System.out.println(b);

        //  System.out.println(redisUtil.exists("key"));
        //  System.out.println(redisUtil.lSize("key"));
        //  redisUtil.lPush("key","111");
        //  redisUtil.expire("key",60, TimeUnit.SECONDS);
        //  try {
        //   Thread.sleep(1000L*30L);
        //  } catch (InterruptedException e) {
        //   e.printStackTrace();
        //  }
        //
        //  redisUtil.lPush("key","1111");
        //  redisUtil.lPush("key","11111");
        //  System.out.println(redisUtil.exists("key"));
        //  redisUtil.lPush("key","22222");
        //  System.out.println(redisUtil.lSize("key"));
        //
        //  redisUtil.lPush("key","33333");
        //  System.out.println(redisUtil.lSize("key"));
        //  List<Object> list =  redisUtil.lRange("key",0,-1);
        //  for(Object o :list){
        //   System.out.println(o);
        //  }
        ////  redisUtil.remove("key");
        //
        //  System.out.println(redisUtil.lRemove("key",0,"1111"));
        //  System.out.println(redisUtil.lSize("key"));
        //  List<Object> list1 =  redisUtil.lRange("key",0,0);
        //  for(Object o :list1){
        //   System.out.println(o);
        //  }
        //
        //  System.out.println(redisUtil.lPop("key"));
        //  System.out.println(redisUtil.lSize("key"));
        //  List<Object> list2 =  redisUtil.lRange("key",0,-1);
        //  for(Object o :list2){
        //   System.out.println(o);
        //  }

    }
}
